﻿using DAO;
using DTO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BUS
{
    public class Q_BUSBenhNhan
    {
        /// <summary>
        /// Xem thông tin bệnh nhân
        /// </summary>
        /// <param name="id">id bệnh nhân</param>
        /// <returns></returns>
        public BenhNhan ThongTinBenhNhan(int id)
        {
            try
            {
                Q_DAOBenhNhan DAObn = new Q_DAOBenhNhan();
                return DAObn.ThongTinBenhNhan(id);
            }
            catch(Exception)
            {
                throw new Exception("E_BenhNhan_001: Có lỗi trong quá trình lấy thông tin bệnh nhân.");
            }
        }

        /// <summary>
        /// Lấy danh sách bệnh nhân còn nợ phí khám bệnh
        /// </summary>
        /// <returns></returns>
        public List<BenhNhanNoPhi> dsBenhNhanNoPhi()
        {
            try
            {
                Q_DAOBenhNhan DAObn = new Q_DAOBenhNhan();
                return DAObn.dsBenhNhanNoPhi();
            }
            catch (Exception)
            {
                throw new Exception("E_BenhNhan_002: Có lỗi trong quá trình lấy thông tin bệnh nhân nợ phí.");
            }
        }

        /// <summary>
        /// Thống kê danh sách bệnh nhân theo ngày.
        /// </summary>
        /// <param name="date">Ngày thống kê</param>
        /// <returns></returns>
        public List<KhamBenh> dsBenhNhanTheoNgay(DateTime date)
        {
            try
            {
                Q_DAOBenhNhan DAObn = new Q_DAOBenhNhan();
                return DAObn.dsBenhNhanTheoNgay(date);
            }
            catch (Exception)
            {
                throw new Exception("E_BenhNhan_003: Có lỗi trong quá trình lấy danh sách bệnh nhân theo ngày.");
            }
        }
    }
}
